The invention relates to digital data processing and, more particularly, for example, to distributed processing of rules bases.
Computer systems that facilitate business operations based on information specific to an industry or enterprise are well known in the art. These typically rely on rules identifying situations that are expected to arise during enterprise operation and the applicable responses. Such systems have been used in a range of applications, from health care to automotive repair. The rules on which they rely come from experts in the field, from the collective experience of workers on the “front line,” or a combination of these and other sources.
Though many computer systems of this sort incorporate application-specific knowledge directly into source code (using, for example, a sequence of “if . . . then . . . else” statements, or the like), more complex systems store that knowledge separately from the programs that access it. Some use “rules bases” that store application-specific information in tables, database records, database objects, and so forth. Examples of systems of this type are disclosed in commonly assigned U.S. Pat. No. 5,826,250, entitled “Rules Bases and Methods of Access Thereof” and U.S. Pat. No. 7,640,222, entitled “Rules Base Systems and Methods with Circumstance Translation,” the teachings of both of which are incorporated herein by reference.
These and other rules-based business process management (BPM) applications are commonly used in enterprise computing, for example, where they facilitate a range of business operations, from marketing to manufacturing to distribution to technical support. By way of example, a BPM application can implement data-processing workflows to support the processing of transactional data ranging from customer service requests received by retail and banking enterprises to the routing and resolution of health care claims by insurance enterprises.
With increasing frequency, enterprise software applications incorporate architectures that permit their use “in the cloud,” that is, over the Internet, with computing resources delivered up to each user on demand. In a sense, this extends the client-server model of past eras from the physical confines of the enterprise to the expanse of the world.
Where a common architecture of the past might provide for software that executes on a server, e.g., located at enterprise headquarters, and that processes requests entered by support personnel at the enterprise's branch offices, the new cloud architectures permit servicing of requests by servers located around the world. In operation, any given request by a user on a client device might as well be attended to by a server located in a neighboring state as in a neighboring country. Thus, while cloud applications are often initially tested behind an enterprise firewall, they are typically architected for final deployment outside that firewall, on a dynamically changing set of third-party servers (e.g., owned by Amazon, SalesForce, Google, or other cloud-computing providers).
BPM applications can be deployed in the cloud, like other enterprise applications. However since business process management often goes to the heart of the enterprise, chief executives, IT directors, and corporate boards have yet to fully embrace this model, mainly, for fear that storing rules bases and/or transactional data exposes them to theft or wrongful disclosure.
Other software applications are evolving similarly. Those that traditionally ran solely on the “desktop,” are now increasingly being executed in the cloud. Word processing is one example. Microsoft, Google and other software providers would as soon enterprise (and other) customers store documents and execute word processing via the cloud, as via locally deployed desktop applications. Unfortunately, this results in uneven usage of information technology resources, with network infrastructure and desktop computers being alternately overwhelmed and underutilized, depending on the cycle of the day, month and year.
An object of this invention is to provide improved systems and methods for digital data processing. A more particular object is to provide improved systems and methods for business process management, for example, rules processing.
A further object is to provide such improved systems and methods as facilitate deployment of BPM and other rules-processing applications on multiple digital data processors.
A still further object is to provide such improved systems and methods as facilitate such deployment in distributed environments, such as, for example, in cloud computing environments.
Yet a still further object is to provide such improved systems and methods as provide better security for BPM and other rules-processing applications in such distributed environments.
Still yet a further object is to provide such improved systems and methods as better utilize computing and networking resources in applications so distributed.